From 8ae8e8e307d1864c3b5ffef84e0ae284424ff701 Mon Sep 17 00:00:00 2001 From: Richard Hult Date: Mon, 26 May 2008 07:40:17 +0000 Subject: [PATCH] =?utf8?q?Bug=20534869=20=E2=80=93=20Length=20miscalculati?= =?utf8?q?on=20in?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 2008-05-26 Richard Hult Bug 534869 – Length miscalculation in _gtk_quartz_get_selection_data_from_pasteboard * gtk/gtkquartz.c: (_gtk_quartz_get_selection_data_from_pasteboard): Get the number of bytes, not the number of characters, patch from Yevgen Muntyan. svn path=/trunk/; revision=20174 --- ChangeLog | 9 +++++++++ gtk/gtkquartz.c | 6 +++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9ced461bf7..bf3b70b8c7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-05-26 Richard Hult + + Bug 534869 – Length miscalculation in + _gtk_quartz_get_selection_data_from_pasteboard + + * gtk/gtkquartz.c: (_gtk_quartz_get_selection_data_from_pasteboard): + Get the number of bytes, not the number of characters, patch from + Yevgen Muntyan. + 2008-05-26 Matthias Clasen * gtk/gtkwidget.c: Some doc formatting fixes. diff --git a/gtk/gtkquartz.c b/gtk/gtkquartz.c index 859d3810fa..8f4b9932d7 100644 --- a/gtk/gtkquartz.c +++ b/gtk/gtkquartz.c @@ -166,12 +166,12 @@ _gtk_quartz_get_selection_data_from_pasteboard (NSPasteboard *pasteboard, if (s) { - int len = [s length]; + const char *utf8_string = [s UTF8String]; selection_data->type = target; selection_data->format = 8; - selection_data->length = len; - selection_data->data = g_memdup ([s UTF8String], len + 1); + selection_data->length = strlen (utf8_string); + selection_data->data = (guchar*) g_strdup (utf8_string); } } else if (target == gdk_atom_intern_static_string ("application/x-color")) -- 2.30.2